package com.ft.oa.service.sys;

import com.ft.oa.domain.sys.SysDept;
import com.ft.oa.domain.sys.SysUser;

import java.util.List;

/**
 * 部门服务
 */
public interface SysDeptService {

    /**
     * 新建部门
     * @param dept
     */
    void add(SysDept dept);

    /**
     * 部门列表
     * @return
     */
    List<SysDept> list();

    /**
     * 用户所属部门
     * @param id
     * @return
     */
    List<SysDept> userDepts(Long id);

    /**
     * 部门树
     * @return
     */
    List<SysDept> tree();

    /**
     * 修改部门
     * @param dept
     */
    void edit(SysDept dept);

    /**
     * 删除部门
     * @param id
     */
    void del(Integer id);

    /**
     * 部门添加员工
     * @param dept
     */
    void addUsers(SysDept dept);

    /**
     * 部门人员
     * @return
     * @param sysDept
     */
    List<SysUser> users(SysDept sysDept);

    /**
     * 部门移除员工
     * @param dept
     */
    void removeUsers(SysDept dept);
}
